home *** CD-ROM | disk | FTP | other *** search
/ Shareware Grab Bag / Shareware Grab Bag.iso / 090 / pctj1086.arc / LOWEGA.DEF < prev    next >
Text File  |  1986-08-15  |  5KB  |  115 lines

  1. DEFINITION MODULE LowEGA;
  2.  
  3. FROM SYSTEM IMPORT ADDRESS;
  4. FROM PointLib IMPORT Point;
  5.  
  6. EXPORT QUALIFIED
  7.   EGAOutWord, InitEGA, SetUpAlpha, SetUpHiRes, CursorOffset,
  8.   BumpCursor, Write, WriteString, SetActivePage, SetPageOffset,
  9.   TurnOnBlinking, TurnOffBlinking, HorScrollLeft, MonitorType,
  10.   HorScrollRight, HorizScroll, ResetHorizScroll, VerticalScrollUp,
  11.   VerticalScrollDown, ResetVerticalScroll, SetCursorPoint, SetCursor,
  12.   WaitForVerticalRetrace, SplitScreenAt, RollSplitScreenUp,
  13.   RollSplitScreenDown, ResetSplitScreen, SetPalette, SetOverscan,
  14.   MakeSecondGraphicsPage, DrawPoint, EGABiosParams, BiosCRTParams,
  15.   DisplayBuffer, RowsOnScreen, BytesPerChar, EGABiosRec, BiosCRTVars,
  16.   ActivePageOffset, MaxPage, FeatureBits, SwitchSettings,
  17.   MemoryInstalled, ActivePage, FillGraphicsPage, SwitchToColorBios,
  18.   SwitchToMonoBios, ColorBiosMode, LoadBiosFont, FontType,
  19.   GetAlternatePrintScreen, PrintScreen, SetActiveFonts, SetModeBios,
  20.   LoadUserFont, ResetVideoPage, TotalVerticalScanLines, MaxVideoPages,
  21.   WriteBiosString, WriteBios, SetBiosCursorPoint, GetCursorPoint,
  22.   EGASavePtr, SetBiosPalette, MemoryInstalled64K, MemoryInstalled128K,
  23.   MemoryInstalled192K, MemoryInstalled256K, WaitForVerticalDisplay;
  24.  
  25.   CONST     MaxVideoPages = 7;
  26.             MemoryInstalled64K  = 0;
  27.             MemoryInstalled128K = 1;
  28.             MemoryInstalled192K = 2;
  29.             MemoryInstalled256K = 3;
  30.  
  31.   TYPE
  32.     MonitorType = (Monochrome, Color);
  33.     FontType = (MonochromeFont, DoubleDotFont);
  34.     (* Enhanced Graphics Adapter Bios Variables*)
  35.     EGABiosRec =  RECORD
  36.             Rows           : CHAR;
  37.             Points         : CARDINAL;
  38.             InfoAndInfo3   : BITSET; (*Info=low 8 bits Info 3=high*)
  39.             SavePtr        : ADDRESS;  END;
  40.     BiosCRTVars =  RECORD
  41.             CRTMode        : CHAR;
  42.             CRTCols, CRTLen: CARDINAL;
  43.             CRTStart       : CARDINAL;
  44.             CursorPosition : ARRAY [0 .. 7] OF CARDINAL;
  45.             CursorMode     : CARDINAL;
  46.             ActivePageNum  : CHAR;
  47.             ADDR6845       : CARDINAL;
  48.             CRTCGA3X8      : CHAR;
  49.             CRTCGA3X9      : CHAR;  END;
  50.  
  51.   VAR
  52.      ActivePageOffset, MaxPage, FeatureBits,
  53.      SwitchSettings, MemoryInstalled, ActivePage,
  54.      TotalVerticalScanLines : CARDINAL;
  55.      (* BIOS RAM Parameters*)
  56.      EGABiosParams [0:484H]    : EGABiosRec;
  57.      BiosCRTParams [0:449H]    : BiosCRTVars;
  58.      DisplayBuffer [0A000H:0H] : ARRAY [0..65500] OF CHAR;
  59.      RowsOnScreen  [0:484H]    : CHAR;
  60.      BytesPerChar  [0:485H]    : CARDINAL; (* Font character size *)
  61.      EGASavePtr    [0:4A8H]    : POINTER TO ADDRESS;
  62.  
  63.   PROCEDURE EGAOutWord(EGAPort, DeviceRegister, Value : CARDINAL);
  64.   PROCEDURE InitEGA(EGAMonitor: MonitorType) : BOOLEAN;
  65.   PROCEDURE SetUpAlpha;
  66.   PROCEDURE SetUpHiRes;
  67.   PROCEDURE SwitchToColorBios;
  68.   PROCEDURE SwitchToMonoBios;
  69.   PROCEDURE ColorBiosMode() : BOOLEAN;
  70.   PROCEDURE CursorOffset(Page : CARDINAL) : CARDINAL;
  71.   PROCEDURE BumpCursor(Page : CARDINAL);
  72.   PROCEDURE Write(Page : CARDINAL; ch : CHAR; color : INTEGER);
  73.   PROCEDURE WriteString(Page : CARDINAL; s : ARRAY OF CHAR;
  74.                         c : CARDINAL);
  75.   PROCEDURE SetActivePage(page : CARDINAL);
  76.   PROCEDURE SetPageOffset(where : CARDINAL);
  77.   PROCEDURE TurnOnBlinking;
  78.   PROCEDURE TurnOffBlinking;
  79.   PROCEDURE HorScrollLeft;
  80.   PROCEDURE HorScrollRight;
  81.   PROCEDURE HorizScroll(pixels : INTEGER);
  82.   PROCEDURE ResetHorizScroll;
  83.   PROCEDURE VerticalScrollUp;
  84.   PROCEDURE VerticalScrollDown;
  85.   PROCEDURE ResetVerticalScroll;
  86.   PROCEDURE SetCursorPoint(Page : CARDINAL; p : Point);
  87.   PROCEDURE SetCursor(Page : CARDINAL);
  88.   PROCEDURE GetCursorPoint(VAR p : Point; Page : CARDINAL);
  89.   PROCEDURE WaitForVerticalRetrace;
  90.   PROCEDURE WaitForVerticalDisplay;
  91.   PROCEDURE SplitScreenAt(ScanLine : CARDINAL);
  92.   PROCEDURE RollSplitScreenUp(SplitSizeLines : CARDINAL);
  93.   PROCEDURE RollSplitScreenDown;
  94.   PROCEDURE ResetSplitScreen;
  95.   PROCEDURE SetPalette(Palette, Color : CARDINAL);
  96.   PROCEDURE SetBiosPalette(Palette, Color : CARDINAL);
  97.   PROCEDURE SetOverscan(Color : CARDINAL);
  98.   PROCEDURE MakeSecondGraphicsPage;
  99.   PROCEDURE FillGraphicsPage(Color : CARDINAL);
  100.   PROCEDURE DrawPoint(p : Point; color : CARDINAL);
  101.   PROCEDURE LoadBiosFont(Font : FontType; ResetFlag : BOOLEAN;
  102.                          Block : CARDINAL);
  103.   PROCEDURE GetAlternatePrintScreen;
  104.   PROCEDURE PrintScreen;
  105.   PROCEDURE SetActiveFonts(FontA, FontB : CARDINAL);
  106.   PROCEDURE SetModeBios(Mode : CARDINAL);
  107.   PROCEDURE LoadUserFont(VAR Font : ARRAY OF CHAR;
  108.                              ResetFlag : BOOLEAN;
  109.                              Block, Count, Points : CARDINAL);
  110.   PROCEDURE ResetVideoPage;
  111.   PROCEDURE WriteBios(Character : CHAR; Color : CARDINAL);
  112.   PROCEDURE WriteBiosString(msg : ARRAY OF CHAR; Color : CARDINAL);
  113.   PROCEDURE SetBiosCursorPoint(Page : CARDINAL; p : Point);
  114. END LowEGA.
  115.